// ES5 实现
function unique(arr) {
  var res = arr.filter((item, index, array) => {
    return array.indexOf(item) === index;
  });
  return res;
}
// 优化之后
function unique(arr) {
  return arr.filter((item, index, array) => array.indexOf(item) === index);
}

// ES6 实现
function unique(arr) {
  return Array.from(new Set(arr));
}
// 或者是这样实现
function unique(arr) {
  return [...new Set(arr)];
}
// 更加简洁的方式
let unique = (arr) => [...new Set(arr)];

// 使用 reduce 方法实现数组去重
function unique(arr = []) {
  let newArr = arr.reduce((pre, cur) => {
    if (pre.includes(cur)) {
      return pre;
    } else {
      return pre.concat(cur);
    }
  }, []);
  return newArr;
}
